#ifndef EXPR_H
#define EXPR_H

#include "record.h"

// 操作符枚举类型
typedef enum { OP_EQ, OP_LT, OP_GT, OP_LE, OP_GE } Op;

// 简单表达式谓词结构
typedef struct {
    const char *col;      // 列名
    Op op;                // 操作符
    const char *rhs;      // 右侧常量(原文本)
} Predicate;

// 解析简单where表达式
int parse_predicate(const char *expr, Predicate *out);

// 对已反序列化的文本数组进行条件判断（真返回1）
int eval_predicate_text(const TableSchema *schema,
                        const char *const *text_values,
                        const Predicate *pred);

#endif // EXPR_H
